// 防抖
// 多次点击，如果之前的未执行，则重新生成timer，覆盖之前的，如果已执行，则在队列中放入一个待执行的
function debounce(func, ms = 1000) {
    let timer;
    return function (...args) {
        if (timer) {
            clearTimeout(timer);
        }
        timer = setTimeout(() => {
            func.apply(this, args);
            timer = null;
        }, ms);
    }
}

var task = ()=>{
    console.log('run debounce task');
}
//生成任务
var debounceTask = debounce(task, 1000);
window.addEventListener("scroll", debounceTask);